package com.medicine.manage.service.impl;

import java.util.List;

import com.medicine.common.constant.UserConstants;
import com.medicine.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.medicine.manage.mapper.ContainerMapper;
import com.medicine.manage.domain.Container;
import com.medicine.manage.service.IContainerService;

/**
 * 容器管理Service业务层处理
 * 
 * @author admin
 * @date 2024-10-12
 */
@Service
public class ContainerServiceImpl implements IContainerService 
{
    @Autowired
    private ContainerMapper containerMapper;

    /**
     * 查询容器管理
     * 
     * @param id 容器管理主键
     * @return 容器管理
     */
    @Override
    public Container selectContainerById(Long id)
    {
        return containerMapper.selectContainerById(id);
    }

    /**
     * 查询容器管理列表
     * 
     * @param container 容器管理
     * @return 容器管理
     */
    @Override
    public List<Container> selectContainerList(Container container)
    {
        return containerMapper.selectContainerList(container);
    }

    /**
     * 新增容器管理
     * 
     * @param container 容器管理
     * @return 结果
     */
    @Override
    public int insertContainer(Container container)
    {
        return containerMapper.insertContainer(container);
    }

    /**
     * 修改容器管理
     * 
     * @param container 容器管理
     * @return 结果
     */
    @Override
    public int updateContainer(Container container)
    {
        return containerMapper.updateContainer(container);
    }

    /**
     * 批量删除容器管理
     * 
     * @param ids 需要删除的容器管理主键
     * @return 结果
     */
    @Override
    public int deleteContainerByIds(Long[] ids)
    {
        return containerMapper.deleteContainerByIds(ids);
    }

    /**
     * 删除容器管理信息
     * 
     * @param id 容器管理主键
     * @return 结果
     */
    @Override
    public int deleteContainerById(Long id)
    {
        return containerMapper.deleteContainerById(id);
    }

    @Override
    public boolean checkUnique(String number, Long deptId) {
        Container container = this.containerMapper.checkUnique(number,deptId);
        if (StringUtils.isNotNull(container) && container.getNumber().equals(number)){
            return UserConstants.NOT_UNIQUE;
        } else {
            return UserConstants.UNIQUE;
        }
    }
}
